
/**
* @Title: DelayQueueTest.java
* @Package com.leetone
* @Description: 【】
* @date 2018年9月1日 下午1:57:24
* @version V1.0
* @Company: 上海未泰信息技术有限公司
* @author:[谭磊][leetone123@163.com]
*/

package com.leetone;

import java.util.concurrent.DelayQueue;
import java.util.concurrent.TimeUnit;

/**
* @ClassName: DelayQueueTest
* @Description: 【延时队列测试实例】
* @date 2018年9月1日 下午1:57:24
* @Company: 上海未泰信息技术有限公司
* @author:[谭磊][leetone123@163.com]
*/

public class DelayQueueTest {
	public static void main(String[] args) throws InterruptedException {
		//新建一个等待队列
		final DelayQueue<Student> bq = new DelayQueue<>();
		for(int i=0;i<5;i++) {
			Student student = new Student("学生"+i,Math.round((Math.random()*10 + i)));
			//将数据存储到队列里面
			bq.put(student);
		}
		//获取但不移除此队列的头部：若队列为空则返回Null
		System.out.println("bq.peek():"+bq.peek().getName());
		//获取并移除此队列的头部，在可从此队列获得到期延迟的元素，
		//或者到达指定的等待时间之前一直等待（如有必要）
		System.out.println("bq.poll():"+bq.poll(10, TimeUnit.MILLISECONDS).getName());
	}
}
